package hht.dragon.blog.service;

import com.github.pagehelper.PageInfo;
import hht.dragon.blog.model.Article;

import java.util.List;

/**
 * 文章服务类接口.
 * User: huang
 * Date: 18-6-23
 */
public interface ArticleService {
    /**
     * 保存文章.
     * @param article 文章实体
     * @return 结果，true为保存成功,反之失败
     */
    boolean save(Article article);

    /**
     * 更新文章.
     * @param article 文章实体
     * @return 结果，true为更新成功,反之失败
     */
    boolean update(Article article);

    /**
     * 删除文章。
     * @param articleId 文章id
     * @return 结果，true为删除成功,反之失败
     */
    boolean delete(int articleId);

    /**
     * 获取浏览最多的几篇文章.
     * @return 文章
     */
    List<Article> hotArticle();

    /**
     * 分页获取文章.
     * @param pageNum 查看页数
     * @param typeId 分类
     * @return 分页数据
     */
    PageInfo<Article> pageAllArticles(int pageNum, int typeId);

    /**
     * 通过文章id获取文章.
     * @param articleId 文章id
     * @return
     */
    Article getArticleById(int articleId);

    /**
     * 点赞数加一.
     * @param articleId 文章编号
     * @return
     */
    boolean upLike(int articleId);

    /**
     * 查询文章.
     * @param search 查询关键字
     * @param pageNum 页码
     * @return
     */
    PageInfo<Article> pageSearchArticle(String search, int pageNum);

}
